package tag20_06_08.anonymeklassen;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;


class ClickListener implements ActionListener{
	public void actionPerformed(ActionEvent e) {
		System.out.println("ActionListener 1 mit einer TopLevelKlasse ");
	}
	
}


public class Aufgabe01_Tag20 {

	static class ClickListener implements ActionListener{
		public void actionPerformed(ActionEvent e) {
			System.out.println("ActionListener 2 mit einer Innere Klasse ");
		}
		
	}
	
	
	public static void main(String[] args) {

		JFrame frame = new JFrame();
		frame.setTitle("Einfaches Fenster mit Titel");
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setBounds(500, 300, 500, 150);
		JButton button = new JButton("click");  
		frame.add(button);
		frame.setVisible(true);
		
		
		// - ActionListener 1 mit einer TopLevelKlasse
		button.addActionListener(new tag20_06_08.anonymeklassen.ClickListener());
		
		
		// - ActionListener 2 mit einer Innere Klasse
		button.addActionListener( new Aufgabe01_Tag20.ClickListener());
		
		
		// - ActionListener 3 mit einer Lokale Klasse
		class ClickListener implements ActionListener{
			public void actionPerformed(ActionEvent e) {
				System.out.println("ActionListener 3 mit einer Lokale Klasse");
			}
		}
		button.addActionListener(new ClickListener());
		
		
		// - ActionListener 4 mit einer Anonyme Klasse
		ActionListener listener = new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.out.println("ActionListener 4 mit einer Anonyme Klasse");
			}
		};
		button.addActionListener(listener);
		
		
		//- ActionListener 5 mit einer anonymen Klasse ohne lokale Variable
		button.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				System.out.println("ActionListener 5 mit einer anonymen Klasse ohne lokale Variable");
			}
		});
		
	} // end of main

}// end of class
